package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.Drtypemode;
import org.apache.ibatis.annotations.Param;

/**
 * 设备类型模板Mapper接口
 * 
 * @author yaozh
 * @date 2024-02-29
 */
public interface DrtypemodeMapper 
{
    /**
     * 根据dBname（项目）、子系统/设备类型ID 返回设备类型模板
     * @param dBname
     * @param drtypeid
     * @param startIndex
     * @param pageSize
     * @return
     */
    List<Drtypemode> findObject(@Param("dBname") String dBname,
                                @Param("drtypeid") Long drtypeid,
                                @Param("startIndex") Integer startIndex,
                                @Param("pageSize") Integer pageSize);

    /**
     * 根据dBname将 设备类型模板 信息 插入到项目对应的 设备类型模板表中。
     * @param dBname
     * @param drtypemode
     * @return
     */
    int insertObject(@Param("dBname") String dBname, @Param("drtypemode") Drtypemode drtypemode);

    /**
     * 编辑更新设备类型模板
     * @param dBname
     * @param drtypemode
     * @return
     */
    int updateObject(@Param("dBname") String dBname, @Param("drtypemode") Drtypemode drtypemode);

    List<Drtypemode> findAllObjectByDrTypeId(@Param("dBname") String dBname, @Param("drtypeid") Long drtypeid);

    List<Drtypemode> findAllModeList(@Param("dBname")String dBname);

    /**
     * 查询设备类型模板
     * 
     * @param typemodeid 设备类型模板主键
     * @return 设备类型模板
     */
    public Drtypemode selectDrtypemodeByTypemodeid(@Param("typemodeid") Long typemodeid, @Param("dbName") String dbName);

    public Drtypemode selectDrTypeModeByDrTypeIdAndRegName(@Param("drTypeId") Long drTypeId, @Param("regName") String regName, @Param("dbName") String dbName);

    /**
     * 查询设备类型模板列表
     * 
     * @param drtypemode 设备类型模板
     * @return 设备类型模板集合
     */
    public List<Drtypemode> selectDrtypemodeList(@Param("drtypemode") Drtypemode drtypemode, @Param("dbName") String dbName);

    /**
     * 新增设备类型模板
     * 
     * @param drtypemode 设备类型模板
     * @return 结果
     */
    public int insertDrtypemode(@Param("drtypemode") Drtypemode drtypemode, @Param("dbName") String dbName);

    /**
     * 修改设备类型模板
     * 
     * @param drtypemode 设备类型模板
     * @return 结果
     */
    public int updateDrtypemode(@Param("drtypemode") Drtypemode drtypemode, @Param("dbName") String dbName);

    /**
     * 删除设备类型模板
     * 
     * @param typemodeid 设备类型模板主键
     * @return 结果
     */
    public int deleteDrtypemodeByTypemodeid(@Param("typemodeid") Long typemodeid, @Param("dbName") String dbName);

    /**
     * 批量删除设备类型模板
     * 
     * @param typemodeids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDrtypemodeByTypemodeids(@Param("typemodeids") Long[] typemodeids, @Param("dbName") String dbName);

}
